import BaseModel from './BaseModel'
import API from '@/api/apis'
import { DateFormat } from 'yb-tool'

/**
 * 意见反馈模型
 */
class FeedBackModel extends BaseModel {
  // 构造方法
  constructor() {
    super()
    /**
     * 反馈者的用户名
     * @type {string}
     */
    this.name = ''
    /**
     * 反馈者手机号
     * @type {string}
     */
    this.phone = ''
    /**
     * 反馈者QQ号
     * @type {string}
     */
    this.qq = ''
    /**
     * 反馈者微信号
     * @type {string}
     */
    this.wx = ''
    /**
     * 是否显示在反馈列表
     * @type {boolean}
     */
    this.isShow = false
    /**
     * 反馈时间
     * @type {string}
     */
    this.date = ''
    /**
     * 序列化的时间字符串
     * @type {string}
     */
    this.dateStr = ''
    /**
     * 反馈内容
     * @type {string}
     */
    this.content = ''

    /**
     * ====================== URL 相关 ====================================
     */
    /**
     * 获取详情数据的URL
     * @type {String}
     */
    this.detailUrl = API.feedback.detail
    /**
     * 删除数据的URL
     * @type {String}
     */
    this.removeUrl = API.feedback.remove
    /**
     * 添加数据的URL
     * @type {String}
     */
    this.addUrl = API.feedback.add
    /**
     * 更新数据的URL
     * @type {String}
     */
    this.updateUrl = API.feedback.update
    /**
     * 添到回收站的URL
     * @type {String}
     */
    this.dustbinPushUrl = API.feedback.dustbinPush
    /**
     * 回收站还原的URL
     * @type {String}
     */
    this.dustbinPopUrl = API.feedback.dustbinPop
    /**
     * 添加修改数据的KEY数组
     * @type {Array}
     */
    this.addOrUpdateKeyArr = ['name', 'phone', 'qq', 'wx', 'isShow', 'content']
  }

  /**
   * 数据拦截
   * @param json
   */
  setDataWithJson(json) {
    super.setDataWithJson(json)
    this.dateStr = DateFormat(new Date(this.date))
  }
}

/**
 * 列表加载URL
 * @type {String}
 */
FeedBackModel.listUrl = API.feedback.all
/**
 * 获取所有回收站数据
 * @type {String}
 */
FeedBackModel.dustbinAllUrl = API.feedback.dustbinAll

export default FeedBackModel
